#ifndef CAMERA_HPP
# define CAMERA_HPP

# include "3D/Vec.hpp"

class Camera
{
public:
    Camera();
    Camera(Vec3f const& position, Vec3f const& lookedPoint, Vec3f const& orientation);
    virtual ~Camera();

    Vec3f const&    getPosition() const;
    void            setPosition(Vec3f const& position);
    void            setPosition(float x, float y, float z);

    Vec3f const&    getLookedPoint() const;
    void            setLookedPoint(Vec3f const& lookedPoint);
    void            setLookedPoint(float x, float y, float z);

    Vec3f const&    getOrientation() const;
    void            setOrientation(Vec3f const& orientation);
    void            setOrientation(float x, float y, float z);

protected:
    Vec3f   _position;
    Vec3f   _lookedPoint;
    Vec3f   _orientation;
};

#endif // CAMERA_HPP
